Ethernet for Control Automation Technology (EtherCAT) is an open high performance Ethernet-based fieldbus system. EtherCAT is used to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs. In normal Internet applications, data packets or frames are received and then interpreted and copied as process data at every node. With EtherCAT, the slave devices read the data addressed to them while the telegram passes through the device. Similarly, input data are inserted while the telegram passes through. The frames are only delayed by a fraction of a microsecond in each node, and many nodes can be addressed with just one frame.
For synchronization a distributed clock mechanism is applied. The typical process of establishing a distributed clock is initiated by the master sending a broadcast to all slaves to a certain address. Upon reception of this message, all slaves will measure the value of their internal clock twice, once when the message is received at its processing port and once when it returns at its forward port. The master can then read all measured values and calculate the delay for each slave. Total delays are calculated for each slave depending on their position in the slave topology and the correct parameter values needed for compensating for the delays are uploaded to the memories of the respective slaves. To keep the clocks synchronized after initialization, the master must regularly send out broadcast ARMW (Auto Increment Physical Read Multiple Write Telegram) packets to counter any effects of speed difference between the internal clocks of each slave. Each slave should adjust the speed of their internal clock or implement an internal correction mechanism whenever they have to adjust.
In EtherCAT systems, the slaves are often arranged in a redundant ring topology. The processing ports of the slaves are coupled to a first Ethernet port of the master, while a second Ethernet port of the master is coupled to the forward ports of the slaves. When, for whatever reason, a slave or a connection in the ring topology fails, all slaves at one side of the interruption are still coupled to the first Ethernet port while the other slaves can be addressed via the forward ports. However, when the ring topology is interrupted, the slaves that are connected via their forward ports are not able to support the distributed clocking mechanism without performing deep packet inspection on the passing EtherCAT data. This deep packet inspection requires both time and processing power. When not performing this deep packet inspection, proper synchronization is impeded which reduces the system reliability.